![【速報】料金 / 開発コストを大幅削減!Amazon API Gatewayの新しい料金モデル「HTTP API」が発表されました! #reinvent](https://devio2023-media.developers.io/wp-content/uploads/2019/12/reinvent2019_update_eyecatch.jpg)
【速報】料金 / 開発コストを大幅削減!Amazon API Gatewayの新しい料金モデル「HTTP API」が発表されました! #reinvent
よりシンプルに、お安く使える新プラン「HTTP API」
Amazon API Gatewayの新しい料金モデル、その名も「HTTP API」が発表されました。現在プレビューとして、US East (Ohio), US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), EU (Frankfurt), EU (Ireland)で提供されています。
HTTP APIとは
Amazon API Gatewayはこれまで REST API または WebSocket API という形で提供されてきました。色々なユースケースで使える非常に便利なサービスでしたが、課題もありました。
- もっと多くの機能が欲しい
- より低いレイテンシで使いたい
- より安いコストで使いたい
HTTP APIはこれらの要求を叶えるべく生まれた新しいプランになります。
HTTP APIの機能
どのような機能を持っているか、ざざっと見ていきましょう。
低コスト!
まず特徴的なのが低コストであるというところです。
- はじめの3億リクエストまでは100万リクエストにつき$1
- 3億以降のリクエストは100万リクエストにつき$0.9
これは多くのお客様にとって、平均70%のコスト削減 という計算になるそうです。
JWT Authorizer (OpenID Connect) をサポート!
API Gatewayに認証/認可の機能を持たせたい場合、これまではLambda AuthorizerまたはCognito User Pools Authorizerのいずれかが利用可能でした。
HTTP APIは JWT Authorizer (OpenID Connect) をサポートしています。つまり標準で、OpenID ConnectのJWTの仕様に準拠した認証システムとインテグレーションできます。これまではLambda Authorizerでコードを書かなければいけませんでしたが、その必要がなくなりました。
デフォルトStage & 自動デプロイ
APIに変更を加えた際にE2Eで動作確認をしたい場合は都度Stageにデプロイする必要がありましたが、HTTP APIでは変更内容が自動反映されるデフォルトStage $default
が用意されます。特にAPIを作り始めの際に、面倒な作業が減ることになります。
CORS設定のカスタマイズ
CORS設定も面倒な作業の一つでしたが、API単位ではなく全体で1つの設定で対応できるようになりました。それぞれのレスポンスヘッダーにどのような値を乗せるか(例えば Access-Control-Allow-Origin
に設定するOriginのホワイトリストなど)の設定が劇的に簡単になります。
API作成のシンプル化
SAMでは新たに AWS::ApigatewayV2 がサポートされるようになりました。以下のような形でシンプルに記述できるようになっています。
Resources: HttpApi: Type: AWS::ApiGatewayV2::Api Properties: Name: Lambda Proxy Description: Lambda Proxy using Quick Create ProtocolType: HTTP Target: arn:aws:lambda:us-west-1:[your acct number here]:function:Echo
CLIでは以下のようなコマンドになります。
$ aws apigatewayv2 create-api \ —name MyAPIname \ —protocol-type HTTP \ --target arn:aws:lambda:us-west-1:[your acct number here]:function:Echo
ポイントは デフォルトの Route & Stage が自動作成される という点です。どのリソースにおいても必ず必要な設定は不要になるということです。
また、APIの設定をインポートできる機能も用意されています。
$ aws apigatewayv2 import-api —body file://api-definition.json
開発者の体験が劇的に改善されます!
コスト削減、そして開発者がより簡単に/よりシンプルに扱えるような機能にフォーカスした、素晴らしいアップデートでした。開発者の体験の向上は、開発コストの削減にも繋がり結果としてビジネススピード向上の要となります。以下に開発者向けドキュメントが公開されていますので、まずはプレビューで使い倒しつつ、正式公開されたら速攻で適用できるウォームアップをしておきましょう!